<?php

 // Carga de Queryx
 require_once("core/queryx.php");
 require_once("grupo_class.php");

 /**
  * ---------------------------------------------------------------
  * ALUMNO CLASE 
  * ---------------------------------------------------------------
  * Funciones necesarias relacionadas con el alumno, esta clase necesita Queryx y esta a su vez
  * necesita de la clase Connect (en la cual deben especificarse los parametros de conexión)
  * están localizadas en engine.
  * 
  * @author Sergio Morlán Páramo
  */
 class Alumno_class extends Queryx {

     private $matricula, $numeroIdentificacion, $nombre, $apellidos, $correoElectronico, $fecha_nacimiento, $gradoAcademico, $telefono, $ocupacion, $tipo, $carrera, $semestre, $jubilado, $facultad, $password;



     /**
      * ---------------------------------------------------------------
      * CONSTRUCTOR
      * ---------------------------------------------------------------
      */
     public function __construct($p_id = FALSE) {
         parent::__construct();
         if ($p_id) {
             return $this->xget($p_id);
         } else {
             return FALSE;
         }

     }




     /*
      * ---------------------------------------------------------------
      * SET METHODS
      * ---------------------------------------------------------------
      */



     /**
      * Vamos a colocar el atributo matricula
      * @param String $p_matricula Attr
      */
     public function set_matricula($p_matricula) {
         $this->matricula = $p_matricula;

     }




     /**
      * Vamos a colocar el atributo numeroIdentificacion
      * @param String $p_numeroIdentificacion Attr
      */
     public function set_numeroIdentificacion($p_numeroIdentificacion) {
         $this->numeroIdentificacion = $p_numeroIdentificacion;

     }




     /**
      * Vamos a colocar el atributo nombre
      * @param String $p_nombre Attr
      */
     public function set_nombre($p_nombre) {
         $this->nombre = $p_nombre;

     }




     /**
      * Vamos a colocar el atributo apellidos
      * @param String $p_apellidos Attr
      */
     public function set_apellidos($p_apellidos) {
         $this->apellidos = $p_apellidos;

     }




     /**
      * Vamos a colocar el atributo correoElectronico
      * @param String $p_correoElectronico Attr
      */
     public function set_correoElectronico($p_correoElectronico) {
         $this->correoElectronico = $p_correoElectronico;

     }




     /**
      * Vamos a colocar el atributo fecha_nacimiento
      * @param String $p_fecha_nacimiento Attr
      */
     public function set_fecha_nacimiento($p_fecha_nacimiento) {
         $this->fecha_nacimiento = $p_fecha_nacimiento;

     }




     /**
      * Vamos a colocar el atributo gradoAcademico
      * @param String $p_gradoAcademico Attr
      */
     public function set_gradoAcademico($p_gradoAcademico) {
         $this->gradoAcademico = $p_gradoAcademico;

     }




     /**
      * Vamos a colocar el atributo telefono
      * @param String $p_telefono Attr
      */
     public function set_telefono($p_telefono) {
         $this->telefono = $p_telefono;

     }




     /**
      * Vamos a colocar el atributo ocupacion
      * @param String $p_ocupacion Attr
      */
     public function set_ocupacion($p_ocupacion) {
         $this->ocupacion = $p_ocupacion;

     }




     /**
      * Vamos a colocar el atributo tipo
      * @param String $p_tipo Attr
      */
     public function set_tipo($p_tipo) {
         $this->tipo = $p_tipo;

     }




     /**
      * Vamos a colocar el atributo carrera
      * @param String $p_carrera Attr
      */
     public function set_carrera($p_carrera) {
         $this->carrera = $p_carrera;

     }




     /**
      * Vamos a colocar el atributo semestre
      * @param String $p_semestre Attr
      */
     public function set_semestre($p_semestre) {
         $this->semestre = $p_semestre;

     }




     /**
      * Vamos a colocar el atributo jubilado
      * @param String $p_jubilado Attr
      */
     public function set_jubilado($p_jubilado) {
         $this->jubilado = $p_jubilado;

     }




     /**
      * Vamos a colocar el atributo facultad
      * @param String $p_facultad Attr
      */
     public function set_facultad($p_facultad) {
         $this->facultad = $p_facultad;

     }




     /**
      * Vamos a colocar el atributo password
      * @param String $p_password Attr
      */
     public function set_password($p_password) {
         $this->password = $p_password;

     }




     /*
      * ---------------------------------------------------------------
      * GET METHODS
      * ---------------------------------------------------------------
      */



     /**
      * Vamos a obtener el atributomatricula
      * @return String $this->matricula
      */
     public function get_matricula() {
         return $this->matricula;

     }




     /**
      * Vamos a obtener el atributonumeroIdentificacion
      * @return String $this->numeroIdentificacion
      */
     public function get_numeroIdentificacion() {
         return $this->numeroIdentificacion;

     }




     /**
      * Vamos a obtener el atributonombre
      * @return String $this->nombre
      */
     public function get_nombre() {
         return $this->nombre;

     }




     /**
      * Vamos a obtener el atributoapellidos
      * @return String $this->apellidos
      */
     public function get_apellidos() {
         return $this->apellidos;

     }




     /**
      * Vamos a obtener el atributocorreoElectronico
      * @return String $this->correoElectronico
      */
     public function get_correoElectronico() {
         return $this->correoElectronico;

     }




     /**
      * Vamos a obtener el atributofecha_nacimiento
      * @return String $this->fecha_nacimiento
      */
     public function get_fecha_nacimiento() {
         return $this->fecha_nacimiento;

     }




     /**
      * Vamos a obtener el atributogradoAcademico
      * @return String $this->gradoAcademico
      */
     public function get_gradoAcademico() {
         return $this->gradoAcademico;

     }




     /**
      * Vamos a obtener el atributotelefono
      * @return String $this->telefono
      */
     public function get_telefono() {
         return $this->telefono;

     }




     /**
      * Vamos a obtener el atributoocupacion
      * @return String $this->ocupacion
      */
     public function get_ocupacion() {
         return $this->ocupacion;

     }




     /**
      * Vamos a obtener el atributotipo
      * @return String $this->tipo
      */
     public function get_tipo() {
         return $this->tipo;

     }




     /**
      * Vamos a obtener el atributocarrera
      * @return String $this->carrera
      */
     public function get_carrera() {
         return $this->carrera;

     }




     /**
      * Vamos a obtener el atributosemestre
      * @return String $this->semestre
      */
     public function get_semestre() {
         return $this->semestre;

     }




     /**
      * Vamos a obtener el atributojubilado
      * @return String $this->jubilado
      */
     public function get_jubilado() {
         return $this->jubilado;

     }




     /**
      * Vamos a obtener el atributofacultad
      * @return String $this->facultad
      */
     public function get_facultad() {
         return $this->facultad;

     }




     /**
      * Vamos a obtener el atributopassword
      * @return String $this->password
      */
     public function get_password() {
         return $this->password;

     }




     /*
      * @author Luis Gonzalez
      * De estos elementos no existe un metodo set ya que no figuran en el formulario sin embargo
      * tienen que ser devueltos
      */



     public function get_calificacion() {
         return $this->calificacion;

     }




     public function get_periodo() {
         return $this->periodo;

     }




     public function get_grupo() {
         return $this->grupo;

     }




     public function get_nombre_curso() {
         return $this->nombre_curso;

     }




     /*
      * ---------------------------------------------------------------
      * BASIC METHODS
      * ---------------------------------------------------------------
      */



     /**
      * 
      * Inserta en ALUMNO
      * Previamente colocados sus atributos con métodos Set
      * @return resource (query) Puede ser evaluado como un valor booleano de acuerdo al resultado obtenido
      */
     public function xnew() {
         switch ($this->tipo) {
             /* Alumno en General */
             case 0:
                 $query = $this->xnew_Alumno();
                 break;
             /* Alumno Interno Inscrito en la FESC */
             case 1:
                 $query = $this->xnew_Alumnofesc();
                 break;
             /* Alumno Interno Profesor en la FESC */
             case 2:
                 $query = $this->xnew_Pofesor();
                 break;
             /* Alumno Interno Trabajador en la FESC */
             case 3:
                 $query = $this->xnew_Trabajador();
                 break;
             /* Alumno de Comunidad UNAM */
             case 4:
                 $query = $this->xnew_Comunidadunam();
                 break;
             /* Alumno (Ex-alumno) */
             case 5:
                 $query = $this->xnew_Exalumno();
                 break;
             /* Alumno Externo */
             case 6:
                 $query = $this->xnew_Externo();
                 break;
             /* Ninguno de los anteriores */
             default :
                 return false;
                 break;
         }
         return $this->run_queryx($query);

     }




     /**
      * 
      * Inserta en ALUMNO un Alumno
      * Previamente colocados sus atributos con métodos Set
      * @return resource (query) Puede ser evaluado como un valor booleano de acuerdo al resultado obtenido
      */
     final private function xnew_Alumno() {
         $query = "INSERT INTO `ALUMNO` (`matricula`, `numeroIdentificacion`, `nombre`, `apellidos`, `correoElectronico`, `fecha_nacimiento`, `gradoAcademico`, `telefono`, `ocupacion`, `tipo`, `carrera`, `semestre`, `jubilado`, `facultad`, `password`) VALUES ('" . $this->matricula . "', '" . $this->numeroIdentificacion . "', '" . $this->nombre . "', '" . $this->apellidos . "', '" . $this->correoElectronico . "', '" . $this->fecha_nacimiento . "', '" . $this->gradoAcademico . "', '" . $this->telefono . "', '" . $this->ocupacion . "', '" . $this->tipo . "', '" . $this->carrera . "', '" . $this->semestre . "', '" . $this->jubilado . "', '" . $this->facultad . "', '" . $this->password . "'); ";
         return $query;

     }




     /**
      * 
      * Inserta en ALUMNO un Alumno de la FESC
      * Previamente colocados sus atributos con métodos Set
      * @return resource (query) Puede ser evaluado como un valor booleano de acuerdo al resultado obtenido
      */
     final private function xnew_Alumnofesc() {
         $query = "INSERT INTO `ALUMNO` (`matricula`, `numeroIdentificacion`, `nombre`, `apellidos`, `correoElectronico`, `fecha_nacimiento`, `gradoAcademico`, `telefono`, `ocupacion`, `tipo`, `carrera`, `semestre`, `facultad`, `password`) VALUES ('" . $this->matricula . "', '" . $this->numeroIdentificacion . "', '" . $this->nombre . "', '" . $this->apellidos . "', '" . $this->correoElectronico . "', '" . $this->fecha_nacimiento . "', '" . $this->gradoAcademico . "', '" . $this->telefono . "', '" . $this->ocupacion . "', '" . $this->tipo . "', '" . $this->carrera . "', '" . $this->semestre . "', '" . $this->facultad . "', '" . $this->password . "'); ";
         return $query;

     }




     /**
      * 
      * Inserta en ALUMNO un Profesor
      * Previamente colocados sus atributos con métodos Set
      * @return resource (query) Puede ser evaluado como un valor booleano de acuerdo al resultado obtenido
      */
     final private function xnew_Pofesor() {
         $query = "INSERT INTO `ALUMNO` (`matricula`, `numeroIdentificacion`, `nombre`, `apellidos`, `correoElectronico`, `fecha_nacimiento`, `gradoAcademico`, `telefono`, `ocupacion`, `tipo`, `jubilado`, `facultad`, `password`) VALUES ('" . $this->matricula . "', '" . $this->numeroIdentificacion . "', '" . $this->nombre . "', '" . $this->apellidos . "', '" . $this->correoElectronico . "', '" . $this->fecha_nacimiento . "', '" . $this->gradoAcademico . "', '" . $this->telefono . "', '" . $this->ocupacion . "', '" . $this->tipo . "', '" . $this->jubilado . "', '" . $this->facultad . "', '" . $this->password . "'); ";
         return $query;

     }




     /**
      * 
      * Inserta en ALUMNO un trabajador
      * Previamente colocados sus atributos con métodos Set
      * @return resource (query) Puede ser evaluado como un valor booleano de acuerdo al resultado obtenido
      */
     final private function xnew_Trabajador() {
         $query = "INSERT INTO `ALUMNO` (`matricula`, `numeroIdentificacion`, `nombre`, `apellidos`, `correoElectronico`, `fecha_nacimiento`, `gradoAcademico`, `telefono`, `ocupacion`, `tipo`, `jubilado`, `facultad`, `password`) VALUES ('" . $this->matricula . "', '" . $this->numeroIdentificacion . "', '" . $this->nombre . "', '" . $this->apellidos . "', '" . $this->correoElectronico . "', '" . $this->fecha_nacimiento . "', '" . $this->gradoAcademico . "', '" . $this->telefono . "', '" . $this->ocupacion . "', '" . $this->tipo . "', '" . $this->jubilado . "', '" . $this->facultad . "', '" . $this->password . "'); ";
         return $query;

     }




     /**
      * 
      * Inserta en ALUMNO un Comunidad UNAM
      * Previamente colocados sus atributos con métodos Set
      * @return resource (query) Puede ser evaluado como un valor booleano de acuerdo al resultado obtenido
      */
     final private function xnew_Comunidadunam() {
         $query = "INSERT INTO `ALUMNO` (`matricula`, `numeroIdentificacion`, `nombre`, `apellidos`, `correoElectronico`, `fecha_nacimiento`, `gradoAcademico`, `telefono`, `ocupacion`, `tipo`, `carrera`, `semestre`, `facultad`, `password`) VALUES ('" . $this->matricula . "', '" . $this->numeroIdentificacion . "', '" . $this->nombre . "', '" . $this->apellidos . "', '" . $this->correoElectronico . "', '" . $this->fecha_nacimiento . "', '" . $this->gradoAcademico . "', '" . $this->telefono . "', '" . $this->ocupacion . "', '" . $this->tipo . "', '" . $this->carrera . "', '" . $this->semestre . "', '" . $this->facultad . "', '" . $this->password . "'); ";
         return $query;

     }




     /**
      * 
      * Inserta en ALUMNO un Ex-alumno
      * Previamente colocados sus atributos con métodos Set
      * @return resource (query) Puede ser evaluado como un valor booleano de acuerdo al resultado obtenido
      */
     final private function xnew_Exalumno() {
         $query = "INSERT INTO `ALUMNO` (`matricula`, `numeroIdentificacion`, `nombre`, `apellidos`, `correoElectronico`, `fecha_nacimiento`, `gradoAcademico`, `telefono`, `ocupacion`, `tipo`, `carrera`, `facultad`, `password`) VALUES ('" . $this->matricula . "', '" . $this->numeroIdentificacion . "', '" . $this->nombre . "', '" . $this->apellidos . "', '" . $this->correoElectronico . "', '" . $this->fecha_nacimiento . "', '" . $this->gradoAcademico . "', '" . $this->telefono . "', '" . $this->ocupacion . "', '" . $this->tipo . "', '" . $this->carrera . "', '" . $this->facultad . "', '" . $this->password . "'); ";
         return $query;

     }




     /**
      * 
      * Inserta en ALUMNO un Externo
      * Previamente colocados sus atributos con métodos Set
      * @return resource (query) Puede ser evaluado como un valor booleano de acuerdo al resultado obtenido
      */
     final private function xnew_Externo() {
         $query = "INSERT INTO `ALUMNO` (`matricula`, `numeroIdentificacion`, `nombre`, `apellidos`, `correoElectronico`, `fecha_nacimiento`, `gradoAcademico`, `telefono`, `ocupacion`, `tipo`, `password`) VALUES ('" . $this->matricula . "', '" . $this->numeroIdentificacion . "', '" . $this->nombre . "', '" . $this->apellidos . "', '" . $this->correoElectronico . "', '" . $this->fecha_nacimiento . "', '" . $this->gradoAcademico . "', '" . $this->telefono . "', '" . $this->ocupacion . "', '" . $this->tipo . "', '" . $this->password . "'); ";
         return $query;

     }




     /**
      * 
      * Actualiza todos los campos de ALUMNO
      * Previamente colocados sus atributos actualizados con métodos Set 
      * @param int $p_matriculaId de ALUMNO
      * @return resource (query) Puede ser evaluado como un valor booleano de acuerdo al resultado obtenido
      */
     public function xchange($p_matricula) {
         $query = "UPDATE `ALUMNO` SET `numeroIdentificacion` = '" . $this->atributos['numeroIdentificacion'] . "', `nombre` = '" . $this->atributos['nombre'] . "', `apellidos` = '" . $this->atributos['apellidos'] . "', `correoElectronico` = '" . $this->atributos['correoElectronico'] . "', `fecha_nacimiento` = '" . $this->atributos['fecha_nacimiento'] . "', `gradoAcademico` = '" . $this->atributos['gradoAcademico'] . "', `telefono` = '" . $this->atributos['telefono'] . "', `ocupacion` = '" . $this->atributos['ocupacion'] . "', `tipo` = '" . $this->atributos['tipo'] . "', `carrera` = '" . $this->atributos['carrera'] . "', `semestre` = '" . $this->atributos['semestre'] . "', `jubilado` = '" . $this->atributos['jubilado'] . "', `facultad` = '" . $this->atributos['facultad'] . "', `password` = '" . $this->atributos['password'] . "' WHERE matricula = '" . $p_matricula . "';";
         return $this->run_queryx($query);

     }




     /**
      * 
      * Elimina definitivamente de la base de datos ALUMNO
      * @param int $p_matriculaId de ALUMNO
      * @return resource (query) Puede ser evaluado como un valor booleano de acuerdo al resultado obtenido
      */
     public function xdel($p_matricula) {
         $query = "DELETE FROM `ALUMNO` WHERE `matricula` = '" . mysql_real_escape_string($p_matricula) . "';";
         return $this->run_queryx($query);

     }




     /*
      * ---------------------------------------------------------------
      * SEARCH METHODS
      * ---------------------------------------------------------------
      */



     /**
      * Busca y Devuleve un único registro en ALUMNO
      * @access private
      * @param int $p_matriculaId de ALUMNO
      * @param int $p_field campo UNIQUE o PRIMARY KEY de ALUMNO
      */
     public function xget($p_matricula, $p_field=FALSE) {
         $index = "matricula";
         if ($p_field)
             $index = $p_field;
         $query = "SELECT * FROM `ALUMNO` WHERE `$index` = '" . $p_matricula . "' LIMIT 1;";
         $result = $this->run_queryx($query);
         if ($this->get_total_rows() > 0) {
             $this->xassign($result);
             return TRUE;
         }
         return FALSE;

     }




     /**
      * Busca y Devuleve todos registro en ALUMNO
      * @param Array $p_campos Arreglo de los Campos a Seleccionar
      * @param String $p_filtro Cadena con los filtros para la búsqueda
      * @return Mixed
      */
     public function xgets($p_campos=FALSE, $p_filtro=FALSE, $p_order=FALSE) {
         $alumno = NULL;
         $campos = "*";
         $filtro = "";
         $order = "";
         if ($p_campos) {
             $campos = "`matricula`,";
             if (is_array($p_campos)) {
                 for ($i = 0; $i < count($p_campos); $i++) {
                     $campos .= "`" . $p_campos[$i] . "`";
                     if ($i < count($p_campos) - 1) {
                         $campos .=", ";
                     }
                 }
             } else {
                 $campos .= "`" . $p_campos . "` ";
             }
         }
         if ($p_filtro)
             $filtro = "WHERE " . $p_filtro;
         if ($p_order)
             $order = "ORDER BY `" . $p_order . "`";
         $query = "SELECT $campos FROM `ALUMNO` $filtro $order;";
         $result = $this->run_queryx($query);
         if ($this->get_total_rows() > 0) {
             while ($row = mysql_fetch_array($result)) {
                 $alumno[] = new Alumno_class($row[0]);
             }
             return $alumno;
         }
         return FALSE;

     }




     /*
      * ---------------------------------------------------------------
      * JOIN METHODS
      * ---------------------------------------------------------------
      */



     public function pre_inscribir($grupo, $fechaInscripcion, $matricula=FALSE) {
         if (!$matricula)
             $matricula = $this->get_matricula();

         $inscripcion = new Inscripcion_class();
         $inscripcion->set_id($inscripcion->get_siguienteID());
         $inscripcion->set_alumno($matricula);
         $inscripcion->set_grupo($grupo);
         $inscripcion->set_fechaInscripcion($fechaInscripcion);
         if ($inscripcion->xnew())
             return TRUE;

     }




     public function inscribir($p_id, $matricula=FALSE) {
         if (!$matricula)
             $matricula = $this->get_matricula();

         $query = "UPDATE `INSCRIPCION` SET `pagado` = '" . '0' . "', `becado` = '" . $becado . "', `pago` = '" . $this->pago . "' WHERE id = '" . $p_id . "' and `alumno` = '" . $matricula . "';";

         if ($this->run_queryx($query))
             return TRUE;

     }




     public function pagar_curso() {
         
     }




     public function historial($matricula=FALSE) {
         if (!$matricula)
             $matricula = $this->get_matricula();
         $Grupo = new Grupo_class();
         return $Grupo->get_join($matricula);

     }




     /*
      * ---------------------------------------------------------------
      * LEAVE METHODS
      * ---------------------------------------------------------------
      */



     public function abandonar_Grupo($matricula=FALSE, $grupo) {
         if ($matricula) {
             $matricula = $matricula;
         } else {
             $matricula = $this->get_matricula();
         }

         $query = "DELETE FROM `INSCRIPCION` WHERE `grupo` = '" . $grupo . "' and `alumno` = '" . $matricula . ";";
         return $this->run_queryx($query);

     }




     /*
      * ---------------------------------------------------------------
      * ALTER METHODS
      * ---------------------------------------------------------------
      */



     public function cambiar_Grupo($matricula=FALSE, $grupo, $fechaInscripcion, $periodo, $pagado, $becado, $pago) {
         if ($matricula) {
             $matricula = $matricula;
         } else {
             $matricula = $this->get_matricula();
         }

         $query = "UPDATE `INSCRIPCION` SET `alumno` = '" . $matricula . "', `grupo` = '" . $grupo . "', `fechaInscripcion` = '" . $fechaInscripcion . "', `periodo` = '" . $periodo . "', `pagado` = '" . $pagado . "', `becado` = '" . $becado . "', `pago` = '" . $pago . "' WHERE id = '" . $p_id . "';";
         return $this->run_queryx($query);

     }




     /*
      * ---------------------------------------------------------------
      * OTHER METHODS
      * ---------------------------------------------------------------
      */




     /*
      * ---------------------------------------------------------------
      * ASSIGN METHODS
      * ---------------------------------------------------------------
      */



     /**
      * Asignación Coloca todos los atributos del objeto encontrado mediante xget()
      * Sólo soporta un resultado
      * @param resource $p_queryx (query) SELECT sólo registro devuelto
      */
     public function xassign($p_queryx) {
         $this->matricula = mysql_result($p_queryx, 0, 0);
         $this->numeroIdentificacion = mysql_result($p_queryx, 0, 1);
         $this->nombre = mysql_result($p_queryx, 0, 2);
         $this->apellidos = mysql_result($p_queryx, 0, 3);
         $this->correoElectronico = mysql_result($p_queryx, 0, 4);
         $this->fecha_nacimiento = mysql_result($p_queryx, 0, 5);
         $this->gradoAcademico = mysql_result($p_queryx, 0, 6);
         $this->telefono = mysql_result($p_queryx, 0, 7);
         $this->ocupacion = mysql_result($p_queryx, 0, 8);
         $this->tipo = mysql_result($p_queryx, 0, 9);
         $this->carrera = mysql_result($p_queryx, 0, 10);
         $this->semestre = mysql_result($p_queryx, 0, 11);
         $this->jubilado = mysql_result($p_queryx, 0, 12);
         $this->facultad = mysql_result($p_queryx, 0, 13);
         $this->password = mysql_result($p_queryx, 0, 14);

     }




     /**
      * Asignación Coloca todos los atributos del objeto encontrado mediante xgetmany()
      * Soporta varios resultados
      * 
      * @param resource $p_queryx (query) SELECT varios registro devuelto
      * @param int $i Variable en Incremento (Contador)
      */
     public function xassigns($p_queryx, $i) {
         $this->matricula[$i] = mysql_result($p_queryx, $i, 0);
         $this->numeroIdentificacion[$i] = mysql_result($p_queryx, $i, 1);
         $this->nombre[$i] = mysql_result($p_queryx, $i, 2);
         $this->apellidos[$i] = mysql_result($p_queryx, $i, 3);
         $this->correoElectronico[$i] = mysql_result($p_queryx, $i, 4);
         $this->fecha_nacimiento[$i] = mysql_result($p_queryx, $i, 5);
         $this->gradoAcademico[$i] = mysql_result($p_queryx, $i, 6);
         $this->telefono[$i] = mysql_result($p_queryx, $i, 7);
         $this->ocupacion[$i] = mysql_result($p_queryx, $i, 8);
         $this->tipo[$i] = mysql_result($p_queryx, $i, 9);
         $this->carrera[$i] = mysql_result($p_queryx, $i, 10);
         $this->semestre[$i] = mysql_result($p_queryx, $i, 11);
         $this->jubilado[$i] = mysql_result($p_queryx, $i, 12);
         $this->facultad[$i] = mysql_result($p_queryx, $i, 13);
         $this->password[$i] = mysql_result($p_queryx, $i, 14);

     }




     /**
      * @author Luis Gonzalez
      * devuelve cara registro obtenido por la sentencia sql 
      * periodo,grupo,nombre_curso,calificacion son arrays dentro de esta funcion
      */
     public function resultado_historial($p_queryx, $i) {
         $this->periodo[$i] = mysql_result($p_queryx, $i, 0);
         $this->grupo[$i] = mysql_result($p_queryx, $i, 1);
         $this->nombre_curso[$i] = mysql_result($p_queryx, $i, 2);
         $this->calificacion[$i] = mysql_result($p_queryx, $i, 3);

     }




     /*
      * ---------------------------------------------------------------
      * OTHER METHODS
      * ---------------------------------------------------------------
      */



     /**
      * Vamos a obtener el ultimo mayor registro en matricula de Alumno
      * @return int  
      */
     public function get_ultimomayor() {
         $query = "SELECT MAX(`matricula`) AS id FROM `ALUMNO`";
         $row = mysql_fetch_assoc($this->run_queryx($query));
         return $row["id"];

     }




     /**
      * Retorna el siguiente registro sugerido para matricula en Alumno
      * por default incrementará en 1 no es recomendable cambiar este parámetro
      * a menos que sea muy necesario
      * @param int $incremento Cuanto deseas incrementar al último registro obtenido
      * @return int El id (matricula) sugerido 
      */
     public function get_siguienteID($incremento = 1) {
         return $this->get_ultimomayor() + 1;

     }




 }

 /* End of file Someclass.php */